home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / machserver / 1.098 / sig / sig.h < prev    next >
C/C++ Source or Header  |  1990-10-05  |  3KB  |  94 lines

  1. /*
  2.  * sig.h --
  3.  *
  4.  *     Data structures and procedure headers exported by the
  5.  *     the signal module.
  6.  *
  7.  * Copyright (C) 1985 Regents of the University of California
  8.  * All rights reserved.
  9.  *
  10.  *
  11.  * $Header: /sprite/src/kernel/sig/RCS/sig.h,v 9.6 90/10/05 16:15:58 mendel Exp $ SPRITE (Berkeley)
  12.  */
  13.  
  14. #ifndef _SIG
  15. #define _SIG
  16.  
  17. #ifdef KERNEL
  18. #include <sigTypes.h>
  19. #include <rpc.h>
  20. #include <procTypes.h>
  21. #include <procMigrate.h>
  22. #else
  23. #include <kernel/sigTypes.h>
  24. #include <kernel/rpc.h>
  25. #include <kernel/procTypes.h>
  26. #include <kernel/procMigrate.h>
  27. #endif
  28.  
  29. /*
  30.  *----------------------------------------------------------------------
  31.  *
  32.  * Sig_Pending --
  33.  *
  34.  *    Return TRUE if a signal is pending and FALSE if not.  This routine
  35.  *    does not impose any synchronization.
  36.  *
  37.  * Results:
  38.  *    TRUE if a signal is pending and FALSE if not.
  39.  *
  40.  * Side effects:
  41.  *    None.
  42.  *
  43.  *----------------------------------------------------------------------
  44.  */
  45. #define Sig_Pending(procPtr) \
  46.     ((Boolean) (procPtr->sigPendingMask & ~procPtr->sigHoldMask))
  47.  
  48. #ifdef KERNEL
  49.  
  50. extern ReturnStatus Sig_Send _ARGS_((int sigNum, int code, Proc_PID id, 
  51.         Boolean familyID, Address addr));
  52. extern ReturnStatus Sig_SendProc _ARGS_((Proc_ControlBlock *procPtr, 
  53.         int sigNum, int code, Address addr));
  54. extern ReturnStatus Sig_UserSend _ARGS_((int sigNum, Proc_PID pid, 
  55.         Boolean familyID));
  56. extern ReturnStatus Sig_SetHoldMask _ARGS_((int newMask, int *oldMaskPtr));
  57. extern ReturnStatus Sig_SetAction _ARGS_((int sigNum, Sig_Action *newActionPtr,
  58.         Sig_Action *oldActionPtr));
  59. extern ReturnStatus Sig_Pause _ARGS_((int sigHoldMask));
  60.  
  61. extern void Sig_Init _ARGS_((void));
  62. extern void Sig_ProcInit _ARGS_((Proc_ControlBlock *procPtr));
  63. extern void Sig_Fork _ARGS_((Proc_ControlBlock *parProcPtr, 
  64.         Proc_ControlBlock *childProcPtr));
  65. extern void Sig_Exec _ARGS_((Proc_ControlBlock *procPtr));
  66. extern void Sig_ChangeState _ARGS_((Proc_ControlBlock *procPtr, 
  67.         int actions[], int sigMasks[], int pendingMask, int sigCodes[],
  68.         int holdMask));
  69. extern Boolean Sig_Handle _ARGS_((Proc_ControlBlock *procPtr, 
  70.         Sig_Stack *sigStackPtr, Address *pcPtr));
  71. extern void Sig_CheckForKill _ARGS_((Proc_ControlBlock *procPtr));
  72. extern void Sig_Return _ARGS_((Proc_ControlBlock *procPtr, 
  73.         Sig_Stack *sigStackPtr));
  74.  
  75. extern ReturnStatus Sig_RpcSend _ARGS_((ClientData srvToken, int clientID,
  76.             int command, Rpc_Storage *storagePtr));
  77.  
  78. /*
  79.  * Procedures to support process migration.
  80.  */
  81.  
  82. extern ReturnStatus Sig_GetEncapSize _ARGS_((Proc_ControlBlock *procPtr, 
  83.             int hostID, Proc_EncapInfo *infoPtr));
  84. extern ReturnStatus Sig_EncapState _ARGS_((Proc_ControlBlock *procPtr, 
  85.             int hostID, Proc_EncapInfo *infoPtr, Address bufPtr));
  86. extern ReturnStatus Sig_DeencapState _ARGS_((Proc_ControlBlock *procPtr, 
  87.             Proc_EncapInfo *infoPtr, Address bufPtr));
  88. extern void Sig_AllowMigration _ARGS_((Proc_ControlBlock *procPtr));
  89.  
  90. #endif /* KERNEL */
  91.  
  92. #endif /* _SIG */
  93.  
  94.